package stardust.product.platform.persistence.transaction;


public enum TransactionType
{
	
	/**
	 * 不支持事务控制，如果当前有事务存在，将在该事务之外执行并且总是回滚。
	 */
	NotSupported,
	
	/**
	 * （默认值）需要事务上下文，如果当前有事务存在将继承父级事务控制策略，否则新开启事务控制。
	 */
	Supports,
	
	/**
	 * 需要一个全新的事务上下文，不管是否可继承父级事务都将打开一个新的事务。
	 */
	RequiresNew,
	
	/**
	 * 需要一个全新的孤立的事务上下文，始终开启新事务上下文，并且新的事务上下文始终无法被子程序继承使用。
	 */
	Isolated;
	
}
